﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Microsoft.ApplicationBlocks.Data;
using Entities;

namespace DAL
{
    public class BarrioDAL
    {
        public static string strConexion = System.Configuration.ConfigurationManager.ConnectionStrings["ConexionBaseDesarrollo"].ConnectionString;

        public static long Nuevo(Barrio parBarrio)
        {
            long intRetorno = 0;
            // (strConexion,"spBarrioNuevo", parBarrio.NombreBarrio)
            return intRetorno;
        }

        public static void Modificar(Barrio parBarrio)
        {
            //(strConexion,"spBarrioModificar",parBarrio.IDBarrio,parBarrio.NombreBarrio)
        }

        public static void Eliminar(long parIDBarrio)
        {
            //(strConexion,"SPBarrioEliminar",parIDBarrio)
        }

        public static Barrio BuscarUno(long parIDBarrio)
        {
            try
            {
                DataTable dt = new DataTable();
                //Busca el objeto por el ID, si lo encuentra lo devuelve
                dt = SqlHelper.ExecuteDataset(strConexion, "spBarrioBuscarUno", parIDBarrio).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    Barrio oBarrio = new Barrio();
                    DataRow dr = dt.Rows[0];
                    oBarrio.IDBarrio = long.Parse(dr["IDBarrio"].ToString());
                    oBarrio.NombreBarrio = dr["NombreBarrio"].ToString();
                    return oBarrio;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }


        public static List<Barrio> BuscarTodos ()
        {
            try
            {
                List<Barrio> ListaBarrio = new List<Barrio>();
                DataTable dt = new DataTable();
                //Busco el objeto por sus propiedades, si encontro, retorna el objeto Negocio
                dt = SqlHelper.ExecuteDataset(strConexion, CommandType.StoredProcedure, "spBarrioBuscarTodos").Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Barrio oBarrio = new Barrio();
                        oBarrio.IDBarrio = long.Parse(dr["IDBarrio"].ToString());
                        oBarrio.NombreBarrio = dr["NombreBarrio"].ToString();
                        ListaBarrio.Add(oBarrio);
                    }
                    return ListaBarrio;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<Barrio> BuscarVarios(string parNombreBarrio)
        {
            try
            {
                List<Barrio> ListaBarrio = new List<Barrio>();
                DataTable dt = new DataTable();
                //Busco el objeto por sus propiedades, si encontro, retorna el objeto Negocio
                //(strConexion,"spBarrioBuscarVarios",parNombreBarrio)
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Barrio oBarrio = new Barrio();
                        oBarrio.IDBarrio = long.Parse(dr["IDBarrio"].ToString());
                        oBarrio.NombreBarrio = dr["NombreBarrio"].ToString();
                        ListaBarrio.Add(oBarrio);
                    }
                    return ListaBarrio;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
